Record Class SchemaSignature
java.lang.Object
java.lang.Record
network.ike.plugin.schema.SchemaSignature
- Record Components:
types- the named complex types, in declaration order across the schemasenumerations- the named simple types that restrict a primitive to enumerated values
public record SchemaSignature(List<SchemaSignature.TypeDefinition> types, List<SchemaSignature.Enumeration> enumerations)
extends Record
The signature an XML Schema declares, read once and held as plain records: the named
complex types with their base, their documentation, and their argument positions; and
the named simple types that enumerate values (IKE-Network/ike-issues#1104).
A signature is what a language's abstract syntax is: a finite set of node types, each with typed positions. HL7's ELM, the Expression Logical Model of the CQL specification, publishes its signature this way in two namespaces, the expression nodes and the System types, and a type is identified by its namespace and its name, since both namespaces declare an Interval.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordOne named simple type that enumerates its values,DateTimePrecisionwithYearthroughMillisecond.static final recordOne argument position of a type: a child element or an attribute, with the type of value it holds and how many of them the schema allows.static enumWhether a position holds an element, a child in the document's sequence, or an attribute, a named value on the element itself.static final recordOne named complex type of the schema.static final recordA reference to a type by namespace and name: a type of the signature, a type of another schema the signature refers to, or a primitive of the XML Schema language. -
Constructor Summary
ConstructorsConstructorDescriptionSchemaSignature(List<SchemaSignature.TypeDefinition> types, List<SchemaSignature.Enumeration> enumerations) Creates a signature, copying both lists. -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of theenumerationsrecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.final StringtoString()Returns a string representation of this record class.types()Returns the value of thetypesrecord component.
-
Constructor Details
-
SchemaSignature
public SchemaSignature(List<SchemaSignature.TypeDefinition> types, List<SchemaSignature.Enumeration> enumerations) Creates a signature, copying both lists.- Parameters:
types- the named complex typesenumerations- the named enumerations
-
-
Method Details
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
types
-
enumerations
Returns the value of theenumerationsrecord component.- Returns:
- the value of the
enumerationsrecord component
-