You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The UUri specification contains a class diagram that suggests that the relations between UUri and its components are 1:1 aggregations, i.e. the UUri.authority, UUri.entity and UUri.resource fields are never empty (null).
Howver, in the corresponding proto3 definition of UUri, the authority, entity and resource fields are (inherently) optional. This fact is also reflected in the code generated from the proto3 in the client libraries. For example, in the Rust library the generated fields are of type Option<T> and in the Java code they also seem to be optional, based on the existence of the UUri.hasAuthority() and UUri.hasEntity() methods.
IMHO we need to define the cardinality and semantics of these relations in the UUri spec document. This would allow implementers to properly deal with the fact that the proto3 definitions may differ from the specified semantics, which might be due to the limitations of the proto3 type system.
The text was updated successfully, but these errors were encountered:
The UUri specification contains a class diagram that suggests that the relations between UUri and its components are 1:1 aggregations, i.e. the
UUri.authority
,UUri.entity
andUUri.resource
fields are never empty (null).Howver, in the corresponding proto3 definition of UUri, the authority, entity and resource fields are (inherently) optional. This fact is also reflected in the code generated from the proto3 in the client libraries. For example, in the Rust library the generated fields are of type
Option<T>
and in the Java code they also seem to be optional, based on the existence of theUUri.hasAuthority()
andUUri.hasEntity()
methods.IMHO we need to define the cardinality and semantics of these relations in the UUri spec document. This would allow implementers to properly deal with the fact that the proto3 definitions may differ from the specified semantics, which might be due to the limitations of the proto3 type system.
The text was updated successfully, but these errors were encountered: