public interface StructureSpecification extends UaDataTypeSpecification
builder() to create a StructureSpecification.Builder.| Modifier and Type | Interface and Description |
|---|---|
static interface |
StructureSpecification.Builder<T extends Structure.Builder>
Builder for
StructureSpecification. |
static class |
StructureSpecification.StructureType
Type of a
Structure. |
UaNamespaceTranslateable.Context| Modifier and Type | Method and Description |
|---|---|
static StructureSpecification.Builder<Structure.Builder> |
builder()
Creates a new builder.
|
UaNodeId |
getBinaryEncodeId()
Binary EncodingId.
|
Function<UaDataTypeSpecification,? extends Structure.Builder> |
getBuilderSupplier()
Returns value set by
StructureSpecification.Builder.setBuilderSupplier(Function). |
FieldSpecification |
getField(String name)
Get FieldSpecification that has the given name.
|
List<String> |
getFieldNames()
Returns the field names of the Structure as an unmodifiable list.
|
List<FieldSpecification> |
getFields()
Returns the fields as an unmodifiable list.
|
Class<? extends Structure> |
getJavaClass()
Returns the java Class of Structures that are returned by the
toStructureBuilder(). |
UaNodeId |
getJsonEncodeId()
Deprecated.
the JSON EncodingId is not used in
JsonEncodingMode.VERBOSE or
JsonEncodingMode.COMPACT. The JsonEncodingMode.LEGACY_REVERSIBLE
and JsonEncodingMode.LEGACY_NON_REVERSIBLE also allows using DataTypeId. As
of 5.7.0, the JSON EncodingId is not used by default for the legacy modes. For now,
it can be configured with JsonEncoder.useEncodingIdInTypeId, but it is
expected that JSON EncodingIds start to disappear from information models or not be
created in new models. Therefore the DataTypeId (UaDataTypeSpecification.getTypeId()) should be
used for JSON related encodings. |
StructureSpecification.StructureType |
getStructureType()
Returns
StructureSpecification.StructureType. |
default UaNodeId |
getSuperTypeId()
Returns the TypeId of the direct supertype.
|
Set<UaNodeId> |
getSuperTypeIds()
Returns an unmodifiable
Set of all supertypes (direct and indirect) for the Structure
type this specification models. |
UaNodeId |
getXmlEncodeId()
XML EncodingId.
|
StructureSpecification.Builder |
toBuilder()
Returns a
StructureSpecification.Builder initialized to the state of this
StructureSpecification. |
Structure.Builder |
toInstanceBuilder()
Creates a
Structure.Builder implementation that creates Structures that match this
specification. |
default Structure.Builder |
toStructureBuilder()
Deprecated.
use
toInstanceBuilder() instead |
StructureSpecification |
withTranslatedNamespaces(UaNamespaceTranslateable.Context context)
Returns a deep copy of itself where every namespace index and uri plus server index and uri
(see
ExpandedNodeId, UaExpandedNodeId) has been swapped based on the given
UaNamespaceTranslateable.Context. |
getName, getTypeId, getXmlName, isAbstract, toDataTypeDefinitionstatic StructureSpecification.Builder<Structure.Builder> builder()
UaNodeId getBinaryEncodeId()
ExtensionObject.getTypeId() when Binary encoding
Structures.Function<UaDataTypeSpecification,? extends Structure.Builder> getBuilderSupplier()
StructureSpecification.Builder.setBuilderSupplier(Function). Important! This method is
only intended for SDK internal usage for the purposes of using this when creating
StructureSpecifications of subtypes. Use toInstanceBuilder() for obtaining
Structure.Builder.FieldSpecification getField(String name)
FieldSpecification.getName() of one of the FieldSpecification returned by
getFields().name - name of the fieldIllegalArgumentException - if this StructureSpecification does not have the
field.List<String> getFieldNames()
getFields() for
more specific field type info.List<FieldSpecification> getFields()
Class<? extends Structure> getJavaClass()
toStructureBuilder().getJavaClass in interface UaDataTypeSpecification@Deprecated UaNodeId getJsonEncodeId()
JsonEncodingMode.VERBOSE or
JsonEncodingMode.COMPACT. The JsonEncodingMode.LEGACY_REVERSIBLE
and JsonEncodingMode.LEGACY_NON_REVERSIBLE also allows using DataTypeId. As
of 5.7.0, the JSON EncodingId is not used by default for the legacy modes. For now,
it can be configured with JsonEncoder.useEncodingIdInTypeId, but it is
expected that JSON EncodingIds start to disappear from information models or not be
created in new models. Therefore the DataTypeId (UaDataTypeSpecification.getTypeId()) should be
used for JSON related encodings.StructureSpecification.StructureType getStructureType()
StructureSpecification.StructureType.default UaNodeId getSuperTypeId()
StructureSpecification
modeling exactly UaDataTypeIds.Structure this will return
UaDataTypeIds.Structure.Set<UaNodeId> getSuperTypeIds()
Set of all supertypes (direct and indirect) for the Structure
type this specification models. The UaDataTypeSpecification.getTypeId() is not part of this set (except for
the StructureSpecification modeling UaDataTypeIds.Structure). The
UaDataTypeIds.Structure is always part of this set. The iteration order is root->leaf,
thus the UaDataTypeIds.Structure always iterated first and the direct subtype is last.UaNodeId getXmlEncodeId()
ExtensionObject.getTypeId() when XML encoding
Structures.StructureSpecification.Builder toBuilder()
StructureSpecification.Builder initialized to the state of this
StructureSpecification.Structure.Builder toInstanceBuilder()
Structure.Builder implementation that creates Structures that match this
specification. By default returns DynamicStructure.Builder unless more specific
supplier was given in the Builder of this StructureSpecification.@Deprecated default Structure.Builder toStructureBuilder()
toInstanceBuilder() insteadStructure.Builder implementation that creates Structures that match this
specification. By default returns DynamicStructure.Builder unless more specific
supplier was given in the Builder of this StructureSpecification.StructureSpecification withTranslatedNamespaces(UaNamespaceTranslateable.Context context)
UaNamespaceTranslateableExpandedNodeId, UaExpandedNodeId) has been swapped based on the given
UaNamespaceTranslateable.Context. Returning the same object is allowed if the type is immutable and the result
is equal to this. Note that for Structure types if the UaDataTypeSpecification
translation is active the returned type can be of different java class.withTranslatedNamespaces in interface UaNamespaceTranslateable<UaDataTypeSpecification>Copyright © 2026. All rights reserved.